#include "checker.h"
#include "modifier.h"
#include "status_bar.h"

#include <sstream>
#include <string>

#define BOOST_AUTO_TEST_MAIN
#define BOOST_TEST_DYN_LINK

#include <boost/test/auto_unit_test.hpp>
#include <boost/test/test_tools.hpp>

#include <boost/assign/std/vector.hpp>

using namespace std;
using namespace boost::assign;

BOOST_AUTO_TEST_CASE(simpleStatusBar) {
    StatusBar bar;
    bar.breakBrunch(0);
    BOOST_CHECK_EQUAL(bar.statusPart(), 0.5);
    bar.breakBrunch(6);
    BOOST_CHECK_EQUAL(bar.statusPart(), 0.5 + 0.0078125);
    bar.breakBrunch(6);
    bar.breakBrunch(6);
    bar.breakBrunch(6);
    bar.breakBrunch(6);
    bar.breakBrunch(6);
    bar.breakBrunch(6);
    BOOST_CHECK_EQUAL(bar.statusPart(), 0.5 + 0.0546875);
    bar.breakBrunch(2);
    bar.breakBrunch(1);
    BOOST_CHECK_EQUAL(bar.statusPart(), 0.5 + 0.0546875 + 0.375);
}


